package com.yyy.spring6;

import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @Project ：learn_spring
 * @File ：TestUser.java
 * @IDE ：IntelliJ IDEA
 * @Author ：自由如风间
 * @Date ：2025/3/27 20:08
 * @Description ：For study.
 */

public class TestUser {

    private Logger logger = LoggerFactory.getLogger(TestUser.class);

    @Test
    public void testUserObject() {
        // 加载spring配置文件，创建对象
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");

        // 获取创建的对象
        User user = (User) context.getBean("user");
        System.out.println(user);

        // 使用对象调用方法进行测试
        user.add();

        logger.info("user方法执行成功");
    }

    // 反射创建对象
    @Test
    public void testUserObject2() throws Exception {
        // 获取类class对象
        Class clazz = Class.forName("com.yyy.spring6.User");
        // 调用方法创建对象
        User user = (User) clazz.getDeclaredConstructor().newInstance();
        System.out.println(user);
    }
}
